我們要讓系統能夠:
[Schedule Trigger]
↓
[Google Sheets - 讀取作業清單]
↓
[Function - 篩選今日未完成]
↓
[Function - 生成提醒訊息]
↓
[HTTP Request - 傳送 LINE Notify]
到 Google 雲端硬碟新建一個試算表,例如命名為「作業進度表」。
日期 | 科目 | 任務內容 | 是否完成 |
---|---|---|---|
2025/10/08 | 微積分 | 第7章習題 | 否 |
2025/10/09 | 演算法 | 影片上傳 | 是 |
2025/10/09 | 機率統計 | 第5章作業 | 否 |
Sheet1!A:D
執行後,n8n 就能抓出整張作業表的資料!
新增 Function 節點,放在 Google Sheets 後面。
輸入以下程式碼:
const today = new Date().toISOString().split("T")[0];
const tasks = $input.all().map(i => i.json);
const todayTasks = tasks.filter(t =>
t["日期"] === today && t["是否完成"] !== "是"
);
return [{ json: { todayTasks } }];
這段程式會幫你抓出「日期是今天」而且「還沒完成」的作業。
再新增一個 Function 節點,輸入:
const data = $json.todayTasks;
if (data.length === 0) {
return [{ json: { message: "今天沒有作業!放鬆一下吧~" } }];
}
let msg = "今日作業提醒:\n";
data.forEach((t, i) => {
msg += `${i+1}. ${t["科目"]}:${t["任務內容"]}\n`;
});
msg += "\n加油 記得按時完成喔!";
return [{ json: { message: msg } }];
新增 HTTP Request 節點,設定如下:
Method:POST
URL:https://notify-api.line.me/api/notify
Headers:
Authorization: Bearer 你的_LINE_TOKEN
Content-Type: application/x-www-form-urlencoded
Body:
message={{$json["message"]}}
完成後,每天早上 8 點你就會收到 LINE 通知:
今日作業提醒:
1. 微積分:第7章習題
2. 機率統計:第5章作業
加油 記得按時完成喔!